#if defined(HITLS_CRYPTO_CODECSKEY) && defined(HITLS_CRYPTO_PROVIDER)

#include "crypt_eal_implprovider.h"

#include "pqcp_provider_impl.h"
#include "pqcp_decode_key_impl.h"

#include "crypt_mldsa.h"

const CRYPT_EAL_Func g_pqcpMldsaSubPubKeyDer2Key[] = {
    {CRYPT_DECODER_IMPL_NEWCTX, (CRYPT_DECODER_IMPL_NewCtx)PQCP_DECODER_MldsaDer2KeyNewCtx},//创建解码上下文
    {CRYPT_DECODER_IMPL_GETPARAM, (CRYPT_DECODER_IMPL_GetParam)PQCP_DECODER_DER2KEY_GetParam},//获取解码参数
    {CRYPT_DECODER_IMPL_SETPARAM, (CRYPT_DECODER_IMPL_SetParam)PQCP_DECODER_DER2KEY_SetParam},//设置解码参数
    {CRYPT_DECODER_IMPL_DECODE, (CRYPT_DECODER_IMPL_Decode)PQCP_DECODER_MldsaSubPubKeyDer2KeyDecode},//公钥解码
    {CRYPT_DECODER_IMPL_FREEOUTDATA, (CRYPT_DECODER_IMPL_FreeOutData)PQCP_DECODER_DER2KEY_FreeOutData},//释放输出数据
    {CRYPT_DECODER_IMPL_FREECTX, (CRYPT_DECODER_IMPL_FreeCtx)PQCP_DECODER_DER2KEY_FreeCtx},//释放解码上下文
    CRYPT_EAL_FUNC_END,
};

// const CRYPT_EAL_Func g_pqcpP8Der2MldsaKey[] = {
//     {CRYPT_DECODER_IMPL_NEWCTX, (CRYPT_DECODER_IMPL_NewCtx)PQCP_DECODER_MldsaDer2KeyNewCtx},
//     {CRYPT_DECODER_IMPL_GETPARAM, (CRYPT_DECODER_IMPL_GetParam)PQCP_DECODER_DER2KEY_GetParam},
//     {CRYPT_DECODER_IMPL_SETPARAM, (CRYPT_DECODER_IMPL_SetParam)PQCP_DECODER_DER2KEY_SetParam},
//     {CRYPT_DECODER_IMPL_DECODE, (CRYPT_DECODER_IMPL_Decode)PQCP_DECODER_MldsaPkcs8Der2KeyDecode},//私钥解码
//     {CRYPT_DECODER_IMPL_FREEOUTDATA, (CRYPT_DECODER_IMPL_FreeOutData)PQCP_DECODER_DER2KEY_FreeOutData},
//     {CRYPT_DECODER_IMPL_FREECTX, (CRYPT_DECODER_IMPL_FreeCtx)PQCP_DECODER_DER2KEY_FreeCtx},
//     CRYPT_EAL_FUNC_END,
// };



#endif /* HITLS_CRYPTO_PROVIDER */